package br.com.mensageiro.negocio.servico;

import java.io.File;
import java.util.List;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import br.com.mensageiro.negocio.entidade.Mensagem;

public interface IMensagemService extends IGenericService<Mensagem> {
	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
	public void enviarMensagem(List<File> arquivos) throws Exception;

	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
	public List<Mensagem> listaMensagensUsuarioEnviadas() throws Exception;

	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
	public Mensagem enviarMensagem(Mensagem mensagem) throws Exception;

	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
	public Mensagem getMensagem(Long id) throws Exception;

}
